package com.jiashihui.schema_lgorithm.schema.observer;

/**
 * @author jiashihui
 * @describe: 主题接口
 * @date 2019/03/14
 */
public interface Subject {

    /**
     * 增加观察者
     *
     * @author jiashihui
     * @param observer 观察者
     */
    void addObserver(Observer observer);

    /**
     * 删除观察者
     *
     * @author jiashihui
     * @param observer 观察者
     */
    void removeObserver(Observer observer);

    /**
     * 通知所有观察者
     *
     * @author jiashihui
     */
    void notifyAllObservers();

}